]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell-camera-monitor: Fix warning about strict aliasing
authorPhilip Withnall <pwithnall@gnome.org>
Tue, 28 May 2024 17:08:27 +0000 (18:08 +0100)
committerMarge Bot <marge-bot@gnome.org>
Tue, 28 May 2024 17:39:46 +0000 (17:39 +0000)
Changing type when casting a double pointer is not strictly allowed in
C. In order to fix compilation with `-fstrict-aliasing`, don’t use
`g_clear_pointer()` for clearing this pointer where the type expected by
the destroy notify function does not match the type stored in the
`ShellCameraMonitor` struct.

This introduces no functional changes.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3351>

src/shell-camera-monitor.c

index 1e2e0f14569cf50bb57cda285ed3e658c553465f..b2e6e0b2af2629d51ad13a172559235e204cb28c 100644 (file)
@@ -298,7 +298,11 @@ shell_camera_monitor_disconnect_core (ShellCameraMonitor *monitor)
   g_clear_handle_id (&monitor->delayed_disable_id, g_source_remove);
 
   spa_hook_remove (&monitor->registry_listener);
-  g_clear_pointer ((struct pw_proxy**) &monitor->registry, pw_proxy_destroy);
+  if (monitor->registry != NULL)
+    {
+      pw_proxy_destroy ((struct pw_proxy *) monitor->registry);
+      monitor->registry = NULL;
+    }
   spa_hook_remove (&monitor->core_listener);
   g_clear_pointer (&monitor->core, pw_core_disconnect);
 }